<?php
declare (strict_types = 1);

namespace app\command;

use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
use think\cache\driver\Redis;
use think\facade\Cache;
class Gopush extends Command
{
    protected function configure()
    {
        // 指令配置
        $this->setName('gopush')
            ->setDescription('the gopush command');
    }

    protected function execute(Input $input, Output $output)
    {
        // 指令输出
				$this->getkey();
        $output->writeln('gopush');
    }
		public function getkey(){
		        // ini_set('default_socket_timeout', -1);
		        //redis 订阅 第二个 是个 回调函数
						//$redis= new \think\cache\driver\Redis();
		       Cache::store('redis')->handler()->psubscribe(array('__keyevent@0__:expired'), 'app\command\Gopush::keyCallback');//回调必须写绝对路径 要不然 会报错
		
		
		    }
		     public static function keyCallback($redis, $pattern, $channel, $message) {
		        file_put_contents('order.log',$message."\r\n",FILE_APPEND);
		        //随便写个 log 记录 不要复制  要不然会在项目的 根目录出现  记得写路径
		        //在这里写逻辑啊 写数据库操作 
		        
		        echo '已删除订单编号:'.$message;
		    }
}
